Soru & Cevap

Php etiket parçalama

16.02.2017 - 11:42
$string="#ilkdeger #ikincideger gereksiz yazılar #digerdegerler devam edip gidecek";

bu metin içerisindeki #'e bağlı metinleri parçalayarak nasıl alabilirim

90 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user ahmetçümen
ahmetçümen
18.02.2017 - 04:37

O zaman şöyle bir kod işini görecektir...

<?php
$metin="#ilkdeger #ikincideger gereksiz yazılar #digerdegerler devam edip gidecek";
$dizi=explode("#",$metin); // cümlemiz diyezlerden bölünecek
//print_r($dizi); // her kelime dizide bir değer olacaktır.

for($i=1; $i<sizeof($dizi); $i++) 
{
    /* 
        for döngümüzü 1'den dizi'nin boyutu kadar döndürüyoruz.
        1'den başlatmamızın nedeni; 0 indisinin içinin boş olması.
    */
    $dizi2[$i-1]=strstr($dizi[$i]," ",true);
    /* 
        burada dizi2 değişkenimizin içine boşluktan öncesini
        alan strstr hazır yordamını kullanıyoruz.
    */
}

print_r($dizi2);

?>

Çıktı:

dizi[0] = ilkdeger

dizi[1] = ikincideger 

dizi[2] = digerdegerler

Gerekli açıklamaları yorum satırı olarak ekledim.

Anlaşılmayan yerleri tekrar sorabilirsin.

İyi Çalışmalar...

 

Profile picture for user nefkam
nefkam
17.02.2017 - 11:02

cevabın için teşekkür ederim fakat istediğim sonuç değil.Almak istediğim çıktılar

dizi[1] = ilkdeger

dizi[2] = ikincideger 

dizi[3] = digerdegerler

sadece #etiket olarak # işareti olan kelimeleri listelemek istiyorum

Profile picture for user ahmetçümen
ahmetçümen
17.02.2017 - 01:03

Selam Mustafa,
Senin sorun için şöyle bir kod işini görecektir.

<?php
$metin="#ilkdeger #ikincideger gereksiz yazılar #digerdegerler devam edip gidecek";
$dizi=explode("#",$metin); // cümlemiz diyezlerden bölünecek
print_r($dizi); // her kelime dizide bir değer olacaktır.
?>

Burada "dizi" adlı dizimizin içine tek tek "#" işaretlerine göre bölerek değerleri atayacak.
Örnek koda göre şöyle ki;

dizi[0] = (boş) //Çünkü ilk "#" işaretini görene kadar bir değer yoktur.

dizi[1] = ilkdeger

dizi[2] = ikincideger gereksiz yazılar 

dizi[3] = digerdegerler devam edip gidecek

 

İyi Çalışmalar...